
package com.insigma.business.qrcode.soldier._consumer;




import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.PlacementInfoDTO;
import com.insigma.business.qrcode.soldier.dto.PlacementStatsInfoDTO;
import com.insigma.business.qrcode.soldier.dto.SimpleApiRequest;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.soldier.request.PlacementInfoInsertRequest;
import com.insigma.business.qrcode.soldier.request.PlacementInfoSearchRequest;
import com.insigma.business.qrcode.soldier.request.PlacementInfoUpdateRequest;

import java.util.List;


public interface PlacementInfoConsumer {

    
    BaseResponse<PlacementStatsInfoDTO> statPlacement(SimpleApiRequest request);

    
    BasePagingResponse<List<PlacementInfoDTO>> searchPlacementInfo(final PlacementInfoSearchRequest placementInfoSearchRequest);

    
    BaseResponse<PlacementInfoDTO> getPlacementInfo(final BaseGetRequest baseGetRequest);

    
    BaseResponse<String> insertPlacementInfo(final PlacementInfoInsertRequest placementInfoInsertRequest);

    
    BaseResponse<Integer> updatePlacementInfo(final PlacementInfoUpdateRequest placementInfoUpdateRequest);

    
    BaseResponse<Integer> publishPlacement(PlacementInfoUpdateRequest request);

    
    BaseResponse<Integer> calculateBatchMatchResult(String batchId);

    
    BaseResponse<Integer> deletePlacementInfo(final BaseDeleteRequest deleteRequest);


    BaseResponse<Integer> updateCanApply(PlacementInfoUpdateRequest updateRequest);
}
